package com.ccnf.model.mapper;

import com.baomidou.mybatisplus.plugins.Page;
import com.ccnf.model.entity.InvitationComment;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.ccnf.model.pojo.CommentDetail;
import com.ccnf.model.query.CommentQuery;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author developer
 * @since 2018-06-07
 */
public interface InvitationCommentMapper extends BaseMapper<InvitationComment> {

    List<CommentDetail> selectComments(CommentQuery commentQuery, Page page);

    /**
     * 评论回复数加一
     * @param commentId 评论的ID
     * @return 影响的行数
     */
    Integer incrementReplyCount(Long commentId);

    /**
     * 通过评论ID查询评论的详细信息，带评论人的头像信息，用于判断用户是否点赞该评论信息
     * @param commentId 评论ID
     * @param userId 当前用户ID
     */
    CommentDetail selectCommentDetailByCommentId(@Param("commentId") Long commentId,
                                                 @Param("userId") Long userId);

    /**
     * 评论点赞数加一
     * @param commentId 评论的ID
     * @return 影响的行数
     */
    Integer incrementThumbsCount(Long commentId);

    /**
     * 评论点赞数减一
     * @param commentId 评论的ID
     * @return 影响的行数
     */
    Integer reduceThumbsCount(Long commentId);
}
